#include <iostream>
using namespace std;

int main() {
    long long a, b, k, ans = 0;
    cin >> a >> b >> k;
    
    // 处理 k == 1 的特殊情况
    if (k == 1) {
        cout << b - a << endl;
        return 0;
    }

    // 处理 k == 0 的特殊情况
    if (k == 0) {
        if (b != 0) cout << b - a << endl;
        else cout << !!(a) << endl; // 如果 a 不为 0，结果为 1，否则为 0
        return 0;
    }

    while (1) {
        if (a * k <= b) {
            ans += 1 + b % k; // +1是执行一次乘法操作， b % k的部分是没法*k的只能加法达到的
            b /= k;
        } else {
            // 如果无法通过乘法操作逼近 b，直接通过加法操作
            ans += b - a;
            break;  // 跳出循环，完成所有操作
        }
    }

    cout << ans << endl;
    return 0;
}